import * as tslib_1 from "tslib";
import { Entity, NgField, NgObject, NgEntity } from '@farris/devkit';
import { DFFEmployeeLevel18c0Entity } from './dffemployeelevel18c0entity';
import { DFFAdminOrganization75c3Entity } from './dffadminorganization75c3entity';
var DFFEmployeeEntity = /** @class */ (function (_super) {
    tslib_1.__extends(DFFEmployeeEntity, _super);
    function DFFEmployeeEntity() {
        return _super !== null && _super.apply(this, arguments) || this;
    }
    tslib_1.__decorate([
        NgField({
            originalDataField: 'ID',
            dataField: 'id',
            primary: true,
            originalDataFieldType: 'String',
            initValue: '',
            path: 'ID',
            validRules: [
                {
                    type: 'required',
                    constraints: [true],
                },
                {
                    type: 'maxLength',
                    constraints: [36],
                    message: '最大长度为36',
                }
            ]
        }),
        tslib_1.__metadata("design:type", String)
    ], DFFEmployeeEntity.prototype, "id", void 0);
    tslib_1.__decorate([
        NgField({
            originalDataField: 'Code',
            dataField: 'code',
            originalDataFieldType: 'String',
            initValue: '',
            path: 'Code',
            validRules: [
                {
                    type: 'maxLength',
                    constraints: [100],
                    message: '最大长度为100',
                }
            ]
        }),
        tslib_1.__metadata("design:type", String)
    ], DFFEmployeeEntity.prototype, "code", void 0);
    tslib_1.__decorate([
        NgField({
            originalDataField: 'Name',
            dataField: 'name',
            originalDataFieldType: 'String',
            initValue: '',
            path: 'Name',
            validRules: [
                {
                    type: 'maxLength',
                    constraints: [1000],
                    message: '最大长度为1000',
                }
            ]
        }),
        tslib_1.__metadata("design:type", String)
    ], DFFEmployeeEntity.prototype, "name", void 0);
    tslib_1.__decorate([
        NgField({
            originalDataField: 'Gender',
            dataField: 'gender',
            originalDataFieldType: 'String',
            initValue: '',
            path: 'Gender',
            validRules: [
                {
                    type: 'maxLength',
                    constraints: [36],
                    message: '最大长度为36',
                }
            ]
        }),
        tslib_1.__metadata("design:type", String)
    ], DFFEmployeeEntity.prototype, "gender", void 0);
    tslib_1.__decorate([
        NgField({
            originalDataField: 'DisplayName',
            dataField: 'displayName',
            originalDataFieldType: 'String',
            initValue: '',
            path: 'DisplayName',
            validRules: [
                {
                    type: 'maxLength',
                    constraints: [1000],
                    message: '最大长度为1000',
                }
            ]
        }),
        tslib_1.__metadata("design:type", String)
    ], DFFEmployeeEntity.prototype, "displayName", void 0);
    tslib_1.__decorate([
        NgField({
            originalDataField: 'ContactInfo',
            dataField: 'contactInfo',
            originalDataFieldType: 'String',
            initValue: '',
            path: 'ContactInfo',
            validRules: [
                {
                    type: 'maxLength',
                    constraints: [36],
                    message: '最大长度为36',
                }
            ]
        }),
        tslib_1.__metadata("design:type", String)
    ], DFFEmployeeEntity.prototype, "contactInfo", void 0);
    tslib_1.__decorate([
        NgField({
            originalDataField: 'LandlineNum',
            dataField: 'landlineNum',
            originalDataFieldType: 'String',
            initValue: '',
            path: 'LandlineNum',
            validRules: [
                {
                    type: 'maxLength',
                    constraints: [50],
                    message: '最大长度为50',
                }
            ]
        }),
        tslib_1.__metadata("design:type", String)
    ], DFFEmployeeEntity.prototype, "landlineNum", void 0);
    tslib_1.__decorate([
        NgField({
            originalDataField: 'Email',
            dataField: 'email',
            originalDataFieldType: 'String',
            initValue: '',
            path: 'Email',
            validRules: [
                {
                    type: 'maxLength',
                    constraints: [500],
                    message: '最大长度为500',
                }
            ]
        }),
        tslib_1.__metadata("design:type", String)
    ], DFFEmployeeEntity.prototype, "email", void 0);
    tslib_1.__decorate([
        NgField({
            originalDataField: 'State_IsEnabled',
            dataField: 'state_IsEnabled',
            originalDataFieldType: 'String',
            initValue: '',
            path: 'State_IsEnabled',
            validRules: [
                {
                    type: 'maxLength',
                    constraints: [1],
                    message: '最大长度为1',
                }
            ]
        }),
        tslib_1.__metadata("design:type", String)
    ], DFFEmployeeEntity.prototype, "state_IsEnabled", void 0);
    tslib_1.__decorate([
        NgField({
            originalDataField: 'DisplayOrder',
            dataField: 'displayOrder',
            originalDataFieldType: 'Number',
            initValue: 0,
            path: 'DisplayOrder',
        }),
        tslib_1.__metadata("design:type", Object)
    ], DFFEmployeeEntity.prototype, "displayOrder", void 0);
    tslib_1.__decorate([
        NgObject({
            dataField: 'employeeLevel',
            originalDataField: 'EmployeeLevel',
            type: DFFEmployeeLevel18c0Entity
        }),
        tslib_1.__metadata("design:type", DFFEmployeeLevel18c0Entity)
    ], DFFEmployeeEntity.prototype, "employeeLevel", void 0);
    tslib_1.__decorate([
        NgObject({
            dataField: 'organization',
            originalDataField: 'Organization',
            type: DFFAdminOrganization75c3Entity
        }),
        tslib_1.__metadata("design:type", DFFAdminOrganization75c3Entity)
    ], DFFEmployeeEntity.prototype, "organization", void 0);
    DFFEmployeeEntity = tslib_1.__decorate([
        NgEntity({
            originalCode: "DFFEmployee",
            nodeCode: "dffEmployees",
            allowEmpty: true
        })
    ], DFFEmployeeEntity);
    return DFFEmployeeEntity;
}(Entity));
export { DFFEmployeeEntity };
